import request from '@/utils/request'

/**
 * 获取功能分类下拉列表
 * @returns {Promise} 请求结果
 */
export function getFeatureCategoryList() {
  return request({
    url: '/basic/web/app/feature/categoryList',
    method: 'get'
  })
}

/**
 * 查询app功能列表
 * @param {Object} params 查询参数
 * @param {string} [params.name] 功能名称
 * @param {number} [params.categoryId] 分类ID (1-导航栏 2-功能)
 * @returns {Promise} 请求结果
 */
export function listAppFeatures(params) {
  return request({
    url: '/basic/web/app/feature/list',
    method: 'get',
    params
  })
}

/**
 * 获取app功能详细信息
 * @param {number} id 功能ID
 * @returns {Promise} 请求结果
 */
export function getAppFeatureDetail(id) {
  return request({
    url: `/basic/web/app/feature/${id}`,
    method: 'get'
  })
}

/**
 * 新增app功能
 * @param {Object} data 功能数据
 * @param {string} data.name 功能名称
 * @param {string} [data.icon] 图标标识
 * @param {string} [data.path] 页面路径
 * @param {number} data.categoryId 分类ID (1-导航栏 2-功能)
 * @returns {Promise} 请求结果
 */
export function addAppFeature(data) {
  return request({
    url: '/basic/web/app/feature',
    method: 'post',
    data
  })
}

/**
 * 修改app功能
 * @param {Object} data 功能数据
 * @param {number} data.id 功能ID
 * @param {string} data.name 功能名称
 * @param {string} [data.icon] 图标标识
 * @param {string} [data.path] 页面路径
 * @param {number} data.categoryId 分类ID (1-导航栏 2-功能)
 * @returns {Promise} 请求结果
 */
export function updateAppFeature(data) {
  return request({
    url: '/basic/web/app/feature',
    method: 'put',
    data
  })
}

/**
 * 删除app功能
 * @param {Array<number>} ids 功能ID数组
 * @returns {Promise} 请求结果
 */
export function deleteAppFeatures(ids) {
  return request({
    url: `/basic/web/app/feature/${ids}`,
    method: 'delete'
  })
}